1. Field of the Invention
The embodiments herein generally relate to error detection and correction for digital data storage or transmission, and, more particularly, to techniques that generate error checking codes and decode data containing such codes.
2. Description of the Related Art
Handheld devices with integrated digital television access are a relatively new phenomenon. Such technology has traditionally been limited by size, power consumption, and most importantly performance. Poor performance of such devices has typically been the result of the constantly changing receiver environment. More particularly, the quality of the received signal is affected by the device's ability to manage adjacent-channel rejection, low signal-to-noise ratios, and Doppler compensation, among other factors.
DVB-H is the specification for bringing broadcast services to handheld receivers, and was formally adopted as an ETSI (European Telecommunications Standards Institute) standard in November 2004. More specifically, DVB-H is a terrestrial digital TV standard that tends to consume less power than its predecessor, the DVB-T standard, and generally allows the receiver to move freely while receiving the signal transmission, thereby making it ideal for cellular phones and other mobile devices to receive digital TV broadcasting over the digiTV network, and hence without having to use cellular telephone networks.
Error checking codes have been developed to assure digital data integrity in situations such as transmission of data over a communications channel or data storage onto and retrieval from a storage medium. The codes allow the existence of errors in the data stream to be identified and corrected. Two such error correction codes are the Reed-Solomon (RS) and cyclic redundancy check (CRC) codes. These codes are often used together, with RS codes being used for every block of 255 bytes of an encoded word, and CRC codes being used for checking the cluster of bytes grouped as datagrams.
The DVB-H standard generally has identified the use of time-slicing to reduce the power consumption of the device and multiprotocol encapsulation forward error correction (MPE-FEC) in order to provide an additional layer of error correction in an effort to provide a more robust signal in mobile environments. In the DVB-H standard, there is an extra channel error control coding in the link layer: MPE-FEC. The FEC is a (255, 191) RS decoder. Here, the length of the codeword is 255 bytes, which contains 191 bytes of data.
FIG. 1 illustrates the conventional manner of performing the FEC. The incoming datagram (having bytes ranging from 64 to approximately 4096 bytes, and most typically approximately 1000 bytes) in a burst from the physical layer (PHY) of the receiver is stored column by column from left to right in a 2 Mbit datagram random access memory (RAM) unit 100. At the end of each datagram there are four CRC bytes which can be used to check/flag if any bytes in that datagram are wrong. If there are one or more error bytes in that datagram, the CRC check will fail and all the bytes in that datagram will be marked as erasures. Once the entire memory unit 100 is filled, including the 191 columns on the left for data bytes and 64 columns on the right for parity bytes, the (255, 191) RS decoder will use the erasure information obtained above to decode/correct the entire 2 Mbit datagram memory 100 in a row-by-row manner.
According to the DVB-H standard, the FEC RS decoder is erasure based, and relies on the erasure information to correct up to 64 errata bytes. If the total number of erasures in a row is greater than 64, the FEC RS decoder generally cannot correct anything for this row and thus leaves it untouched by giving a decoder failure signal. Accordingly, a mobile TV receiver might discard the entire burst (2 Mbit datagram memory unit 100) if such decoding failures happen, which leads to unsmooth video or glitches during viewing of a TV broadcast. As such, there remains a need to correct this deficiency by providing a technique which enhances the performance of digital signal reception in mobile devices by providing for a better error detection/correction scheme.